﻿namespace RockBus.PipelineComponent.Interfaces
{
    public interface IPipelineComponentConfiguration
    {
        /// <summary>
        /// The Id of the pipeline component.
        /// </summary>
        string Id { get; }

        bool Active { get; }

        string SoapActionFilter { get; }

        /// <summary>
        /// Indexer for the configuration properties.
        /// </summary>
        /// <param name="key">The key of the property.</param>
        /// <returns>The property value associated with the specified key. Null if the key does not exist.</returns>
        string this[string key] { get; }

        bool ShouldProcessMessage(string action);
    }
}